home *** CD-ROM | disk | FTP | other *** search
/ Freelog 115 / FreelogNo115-MaiJuin2013.iso / Internet / Filezilla Server / FileZilla_Server-0_9_41.exe / source / includes / openssl / comp.h < prev    next >
C/C++ Source or Header  |  2012-02-26  |  2KB  |  81 lines

  1.  
  2. #ifndef HEADER_COMP_H
  3. #define HEADER_COMP_H
  4.  
  5. #include <openssl/crypto.h>
  6.  
  7. #ifdef  __cplusplus
  8. extern "C" {
  9. #endif
  10.  
  11. typedef struct comp_ctx_st COMP_CTX;
  12.  
  13. typedef struct comp_method_st
  14.     {
  15.     int type;        /* NID for compression library */
  16.     const char *name;    /* A text string to identify the library */
  17.     int (*init)(COMP_CTX *ctx);
  18.     void (*finish)(COMP_CTX *ctx);
  19.     int (*compress)(COMP_CTX *ctx,
  20.             unsigned char *out, unsigned int olen,
  21.             unsigned char *in, unsigned int ilen);
  22.     int (*expand)(COMP_CTX *ctx,
  23.               unsigned char *out, unsigned int olen,
  24.               unsigned char *in, unsigned int ilen);
  25.     /* The following two do NOTHING, but are kept for backward compatibility */
  26.     long (*ctrl)(void);
  27.     long (*callback_ctrl)(void);
  28.     } COMP_METHOD;
  29.  
  30. struct comp_ctx_st
  31.     {
  32.     COMP_METHOD *meth;
  33.     unsigned long compress_in;
  34.     unsigned long compress_out;
  35.     unsigned long expand_in;
  36.     unsigned long expand_out;
  37.  
  38.     CRYPTO_EX_DATA    ex_data;
  39.     };
  40.  
  41.  
  42. COMP_CTX *COMP_CTX_new(COMP_METHOD *meth);
  43. void COMP_CTX_free(COMP_CTX *ctx);
  44. int COMP_compress_block(COMP_CTX *ctx, unsigned char *out, int olen,
  45.     unsigned char *in, int ilen);
  46. int COMP_expand_block(COMP_CTX *ctx, unsigned char *out, int olen,
  47.     unsigned char *in, int ilen);
  48. COMP_METHOD *COMP_rle(void );
  49. COMP_METHOD *COMP_zlib(void );
  50. void COMP_zlib_cleanup(void);
  51.  
  52. #ifdef HEADER_BIO_H
  53. #ifdef ZLIB
  54. BIO_METHOD *BIO_f_zlib(void);
  55. #endif
  56. #endif
  57.  
  58. /* BEGIN ERROR CODES */
  59. /* The following lines are auto generated by the script mkerr.pl. Any changes
  60.  * made after this point may be overwritten when the script is next run.
  61.  */
  62. void ERR_load_COMP_strings(void);
  63.  
  64. /* Error codes for the COMP functions. */
  65.  
  66. /* Function codes. */
  67. #define COMP_F_BIO_ZLIB_FLUSH                 99
  68. #define COMP_F_BIO_ZLIB_NEW                 100
  69. #define COMP_F_BIO_ZLIB_READ                 101
  70. #define COMP_F_BIO_ZLIB_WRITE                 102
  71.  
  72. /* Reason codes. */
  73. #define COMP_R_ZLIB_DEFLATE_ERROR             99
  74. #define COMP_R_ZLIB_INFLATE_ERROR             100
  75. #define COMP_R_ZLIB_NOT_SUPPORTED             101
  76.  
  77. #ifdef  __cplusplus
  78. }
  79. #endif
  80. #endif
  81.